package com.atguigu.jucdemo.lock;


import java.util.concurrent.TimeUnit;

class Phone {
// 1 标准访问，请问先打印邮件还是短信
// 2 邮件方法暂停4秒，请问先打印邮件还是短信
// 3 新增普通hello方法，请问先打印邮件还是hello
// 4 变为两部手机，请问先打印邮件还是短信
// 5 两个静态同步方法，同一部手机，请问先打印邮件还是短信
// 6 两个静态同步方法，用两部手机，请问先打印邮件还是短信
// 7 一个静态同步方法，一个普通同步方法，用1部手机，请问先打印邮件还是短信
// 8 一个静态同步方法，一个普通同步方法，用2部手机，请问先打印邮件还是短信
    public synchronized void sendEmail() {
        //暂停几秒钟线程
        try {
            TimeUnit.SECONDS.sleep(4);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("---Email");
    }

    public synchronized void sendSMS() {
        System.out.println("---SMS");
    }

    public void hello() {
        System.out.println("---hello");
    }
}
//---------------------------------------------------------------------
public class Lock8Demo {
    public static void main(String[] args) {
        Phone phone = new Phone();
        Phone phone2 = new Phone();

        new Thread(() -> {
            phone.sendEmail();
        }, "t1").start();

        //暂停毫秒
        try {
            TimeUnit.MILLISECONDS.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        new Thread(() -> {
            phone.sendSMS();
            //phone.hello();
            //phone2.sendSMS();
        }, "t2").start();
    }
}

